package reverseinteger

//题目：整数翻转tt
/*
将整数反转，可以想到使用数组，利用数组的翻转，进行整数翻转。
第二种方法：可以使用取余进行翻转
具体步骤：
1：循环取余，当数不为零的时候。每取余一次，都要进行除以10
2：判断大小，由题目可知，大于2的31次方 -1 或者小于-2的31次方都要返回零值。我们可以通过位运算得到2的31次方，进行比较大小
*/
func reverse(x int) int {
	temp := 0
	for x != 0 {
		temp = temp*10 + x%10
		x /= 10
	}
	if temp < -(1<<31) || temp > (1<<31-1) {
		return 0
	}
	return temp
}
